// 组合模式 原型模式加上构造函数模式
// 将私有属性和方法放到构造函数中
// 将公共属性和方法放到原型对象中
function Person(name,age,gender){
    // 1.创建了对象
    // 2.this---对象
    // 3.执行函数体的代码
    // 4.返回创建的对象
    this.name=name;
    this.age=age;
    this.gender=gender;
    this.firends=[];
}
Person.prototype={
    constructor:Person,
    sayName:function(){
        console.log(this.name);
    }
}
var p1=new Person('tom',19,'男');
var p2=new Person('lerry',20,'女');
console.log(p1,p2);
p1.firends.push('terry');
console.log(p1,p2);

